#! /usr/bin/env/python3
# _*_ coding:UTF-8 _×_
'''
    根据文件类型确认文件
    作者：王楠
    日期：2020/03/03
'''
import json
import csv


def json_to_dict(filepath):
    '''
    打开json文件 返回字典dict,用于操作
    '''
    f = open(filepath, 'r', encoding='utf-8')
    json_list = json.load(f)
    f.close()
    return json_list


def json_dict_to_list(json_dict):
    '''
    输入一个json转换成的dict，返回一个lines_list，用于转换为csv文件
    '''
    lines_list = []      # 第一行数：列名 及字典dict的key
    lines_list.append(list(json_dict[0].keys()))
    for item in json_dict:
        lines_list.append(list(item.values()))
    return lines_list


def main():
    '''
    主函数
    '''
    filepath = input('请输入json文件路径及文件名：')
    json_list = json_to_dict(filepath)
    # print(json_list)
    # for json_list_item in json_list:
    #     print(json_list_item, end='\n\n\n')
    # position 为函数参数，在此处为每一个json_list的每一个dict,reverse=True升序
    json_list.sort(key=lambda position: position['aqi'],  reverse=True)
    lines_of_csv = json_dict_to_list(json_list)
    print(lines_of_csv)

    f = open('/home/wangnan/文档/python/小象学院/09 空气指数/shanghai.csv', 'w', encoding='UTF-8', newline='')
    writer = csv.writer(f)
    for line in lines_of_csv:
        print(line)
        writer.writerow(line)
    f.close()
    f = open('/home/wangnan/文档/python/小象学院/09 空气指数/shanghai.txt', 'w', encoding='UTF-8', newline='\n')
    for line in lines_of_csv:
        f.write(', '.join(str(x) for x in line) + '\n')
    f.close()


if __name__ == '__main__':
    main()
